package com.mmd.openfire_admin.generator.pojo;

import java.util.ArrayList;
import java.util.List;

public class FpworkgroupExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public FpworkgroupExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andWorkgroupidIsNull() {
            addCriterion("workgroupID is null");
            return (Criteria) this;
        }

        public Criteria andWorkgroupidIsNotNull() {
            addCriterion("workgroupID is not null");
            return (Criteria) this;
        }

        public Criteria andWorkgroupidEqualTo(Long value) {
            addCriterion("workgroupID =", value, "workgroupid");
            return (Criteria) this;
        }

        public Criteria andWorkgroupidNotEqualTo(Long value) {
            addCriterion("workgroupID <>", value, "workgroupid");
            return (Criteria) this;
        }

        public Criteria andWorkgroupidGreaterThan(Long value) {
            addCriterion("workgroupID >", value, "workgroupid");
            return (Criteria) this;
        }

        public Criteria andWorkgroupidGreaterThanOrEqualTo(Long value) {
            addCriterion("workgroupID >=", value, "workgroupid");
            return (Criteria) this;
        }

        public Criteria andWorkgroupidLessThan(Long value) {
            addCriterion("workgroupID <", value, "workgroupid");
            return (Criteria) this;
        }

        public Criteria andWorkgroupidLessThanOrEqualTo(Long value) {
            addCriterion("workgroupID <=", value, "workgroupid");
            return (Criteria) this;
        }

        public Criteria andWorkgroupidIn(List<Long> values) {
            addCriterion("workgroupID in", values, "workgroupid");
            return (Criteria) this;
        }

        public Criteria andWorkgroupidNotIn(List<Long> values) {
            addCriterion("workgroupID not in", values, "workgroupid");
            return (Criteria) this;
        }

        public Criteria andWorkgroupidBetween(Long value1, Long value2) {
            addCriterion("workgroupID between", value1, value2, "workgroupid");
            return (Criteria) this;
        }

        public Criteria andWorkgroupidNotBetween(Long value1, Long value2) {
            addCriterion("workgroupID not between", value1, value2, "workgroupid");
            return (Criteria) this;
        }

        public Criteria andJidIsNull() {
            addCriterion("jid is null");
            return (Criteria) this;
        }

        public Criteria andJidIsNotNull() {
            addCriterion("jid is not null");
            return (Criteria) this;
        }

        public Criteria andJidEqualTo(String value) {
            addCriterion("jid =", value, "jid");
            return (Criteria) this;
        }

        public Criteria andJidNotEqualTo(String value) {
            addCriterion("jid <>", value, "jid");
            return (Criteria) this;
        }

        public Criteria andJidGreaterThan(String value) {
            addCriterion("jid >", value, "jid");
            return (Criteria) this;
        }

        public Criteria andJidGreaterThanOrEqualTo(String value) {
            addCriterion("jid >=", value, "jid");
            return (Criteria) this;
        }

        public Criteria andJidLessThan(String value) {
            addCriterion("jid <", value, "jid");
            return (Criteria) this;
        }

        public Criteria andJidLessThanOrEqualTo(String value) {
            addCriterion("jid <=", value, "jid");
            return (Criteria) this;
        }

        public Criteria andJidLike(String value) {
            addCriterion("jid like", value, "jid");
            return (Criteria) this;
        }

        public Criteria andJidNotLike(String value) {
            addCriterion("jid not like", value, "jid");
            return (Criteria) this;
        }

        public Criteria andJidIn(List<String> values) {
            addCriterion("jid in", values, "jid");
            return (Criteria) this;
        }

        public Criteria andJidNotIn(List<String> values) {
            addCriterion("jid not in", values, "jid");
            return (Criteria) this;
        }

        public Criteria andJidBetween(String value1, String value2) {
            addCriterion("jid between", value1, value2, "jid");
            return (Criteria) this;
        }

        public Criteria andJidNotBetween(String value1, String value2) {
            addCriterion("jid not between", value1, value2, "jid");
            return (Criteria) this;
        }

        public Criteria andDisplaynameIsNull() {
            addCriterion("displayName is null");
            return (Criteria) this;
        }

        public Criteria andDisplaynameIsNotNull() {
            addCriterion("displayName is not null");
            return (Criteria) this;
        }

        public Criteria andDisplaynameEqualTo(String value) {
            addCriterion("displayName =", value, "displayname");
            return (Criteria) this;
        }

        public Criteria andDisplaynameNotEqualTo(String value) {
            addCriterion("displayName <>", value, "displayname");
            return (Criteria) this;
        }

        public Criteria andDisplaynameGreaterThan(String value) {
            addCriterion("displayName >", value, "displayname");
            return (Criteria) this;
        }

        public Criteria andDisplaynameGreaterThanOrEqualTo(String value) {
            addCriterion("displayName >=", value, "displayname");
            return (Criteria) this;
        }

        public Criteria andDisplaynameLessThan(String value) {
            addCriterion("displayName <", value, "displayname");
            return (Criteria) this;
        }

        public Criteria andDisplaynameLessThanOrEqualTo(String value) {
            addCriterion("displayName <=", value, "displayname");
            return (Criteria) this;
        }

        public Criteria andDisplaynameLike(String value) {
            addCriterion("displayName like", value, "displayname");
            return (Criteria) this;
        }

        public Criteria andDisplaynameNotLike(String value) {
            addCriterion("displayName not like", value, "displayname");
            return (Criteria) this;
        }

        public Criteria andDisplaynameIn(List<String> values) {
            addCriterion("displayName in", values, "displayname");
            return (Criteria) this;
        }

        public Criteria andDisplaynameNotIn(List<String> values) {
            addCriterion("displayName not in", values, "displayname");
            return (Criteria) this;
        }

        public Criteria andDisplaynameBetween(String value1, String value2) {
            addCriterion("displayName between", value1, value2, "displayname");
            return (Criteria) this;
        }

        public Criteria andDisplaynameNotBetween(String value1, String value2) {
            addCriterion("displayName not between", value1, value2, "displayname");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNull() {
            addCriterion("description is null");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNotNull() {
            addCriterion("description is not null");
            return (Criteria) this;
        }

        public Criteria andDescriptionEqualTo(String value) {
            addCriterion("description =", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotEqualTo(String value) {
            addCriterion("description <>", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThan(String value) {
            addCriterion("description >", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("description >=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThan(String value) {
            addCriterion("description <", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThanOrEqualTo(String value) {
            addCriterion("description <=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLike(String value) {
            addCriterion("description like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotLike(String value) {
            addCriterion("description not like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionIn(List<String> values) {
            addCriterion("description in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotIn(List<String> values) {
            addCriterion("description not in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionBetween(String value1, String value2) {
            addCriterion("description between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotBetween(String value1, String value2) {
            addCriterion("description not between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andModesIsNull() {
            addCriterion("modes is null");
            return (Criteria) this;
        }

        public Criteria andModesIsNotNull() {
            addCriterion("modes is not null");
            return (Criteria) this;
        }

        public Criteria andModesEqualTo(Integer value) {
            addCriterion("modes =", value, "modes");
            return (Criteria) this;
        }

        public Criteria andModesNotEqualTo(Integer value) {
            addCriterion("modes <>", value, "modes");
            return (Criteria) this;
        }

        public Criteria andModesGreaterThan(Integer value) {
            addCriterion("modes >", value, "modes");
            return (Criteria) this;
        }

        public Criteria andModesGreaterThanOrEqualTo(Integer value) {
            addCriterion("modes >=", value, "modes");
            return (Criteria) this;
        }

        public Criteria andModesLessThan(Integer value) {
            addCriterion("modes <", value, "modes");
            return (Criteria) this;
        }

        public Criteria andModesLessThanOrEqualTo(Integer value) {
            addCriterion("modes <=", value, "modes");
            return (Criteria) this;
        }

        public Criteria andModesIn(List<Integer> values) {
            addCriterion("modes in", values, "modes");
            return (Criteria) this;
        }

        public Criteria andModesNotIn(List<Integer> values) {
            addCriterion("modes not in", values, "modes");
            return (Criteria) this;
        }

        public Criteria andModesBetween(Integer value1, Integer value2) {
            addCriterion("modes between", value1, value2, "modes");
            return (Criteria) this;
        }

        public Criteria andModesNotBetween(Integer value1, Integer value2) {
            addCriterion("modes not between", value1, value2, "modes");
            return (Criteria) this;
        }

        public Criteria andCreationdateIsNull() {
            addCriterion("creationDate is null");
            return (Criteria) this;
        }

        public Criteria andCreationdateIsNotNull() {
            addCriterion("creationDate is not null");
            return (Criteria) this;
        }

        public Criteria andCreationdateEqualTo(String value) {
            addCriterion("creationDate =", value, "creationdate");
            return (Criteria) this;
        }

        public Criteria andCreationdateNotEqualTo(String value) {
            addCriterion("creationDate <>", value, "creationdate");
            return (Criteria) this;
        }

        public Criteria andCreationdateGreaterThan(String value) {
            addCriterion("creationDate >", value, "creationdate");
            return (Criteria) this;
        }

        public Criteria andCreationdateGreaterThanOrEqualTo(String value) {
            addCriterion("creationDate >=", value, "creationdate");
            return (Criteria) this;
        }

        public Criteria andCreationdateLessThan(String value) {
            addCriterion("creationDate <", value, "creationdate");
            return (Criteria) this;
        }

        public Criteria andCreationdateLessThanOrEqualTo(String value) {
            addCriterion("creationDate <=", value, "creationdate");
            return (Criteria) this;
        }

        public Criteria andCreationdateLike(String value) {
            addCriterion("creationDate like", value, "creationdate");
            return (Criteria) this;
        }

        public Criteria andCreationdateNotLike(String value) {
            addCriterion("creationDate not like", value, "creationdate");
            return (Criteria) this;
        }

        public Criteria andCreationdateIn(List<String> values) {
            addCriterion("creationDate in", values, "creationdate");
            return (Criteria) this;
        }

        public Criteria andCreationdateNotIn(List<String> values) {
            addCriterion("creationDate not in", values, "creationdate");
            return (Criteria) this;
        }

        public Criteria andCreationdateBetween(String value1, String value2) {
            addCriterion("creationDate between", value1, value2, "creationdate");
            return (Criteria) this;
        }

        public Criteria andCreationdateNotBetween(String value1, String value2) {
            addCriterion("creationDate not between", value1, value2, "creationdate");
            return (Criteria) this;
        }

        public Criteria andModificationdateIsNull() {
            addCriterion("modificationDate is null");
            return (Criteria) this;
        }

        public Criteria andModificationdateIsNotNull() {
            addCriterion("modificationDate is not null");
            return (Criteria) this;
        }

        public Criteria andModificationdateEqualTo(String value) {
            addCriterion("modificationDate =", value, "modificationdate");
            return (Criteria) this;
        }

        public Criteria andModificationdateNotEqualTo(String value) {
            addCriterion("modificationDate <>", value, "modificationdate");
            return (Criteria) this;
        }

        public Criteria andModificationdateGreaterThan(String value) {
            addCriterion("modificationDate >", value, "modificationdate");
            return (Criteria) this;
        }

        public Criteria andModificationdateGreaterThanOrEqualTo(String value) {
            addCriterion("modificationDate >=", value, "modificationdate");
            return (Criteria) this;
        }

        public Criteria andModificationdateLessThan(String value) {
            addCriterion("modificationDate <", value, "modificationdate");
            return (Criteria) this;
        }

        public Criteria andModificationdateLessThanOrEqualTo(String value) {
            addCriterion("modificationDate <=", value, "modificationdate");
            return (Criteria) this;
        }

        public Criteria andModificationdateLike(String value) {
            addCriterion("modificationDate like", value, "modificationdate");
            return (Criteria) this;
        }

        public Criteria andModificationdateNotLike(String value) {
            addCriterion("modificationDate not like", value, "modificationdate");
            return (Criteria) this;
        }

        public Criteria andModificationdateIn(List<String> values) {
            addCriterion("modificationDate in", values, "modificationdate");
            return (Criteria) this;
        }

        public Criteria andModificationdateNotIn(List<String> values) {
            addCriterion("modificationDate not in", values, "modificationdate");
            return (Criteria) this;
        }

        public Criteria andModificationdateBetween(String value1, String value2) {
            addCriterion("modificationDate between", value1, value2, "modificationdate");
            return (Criteria) this;
        }

        public Criteria andModificationdateNotBetween(String value1, String value2) {
            addCriterion("modificationDate not between", value1, value2, "modificationdate");
            return (Criteria) this;
        }

        public Criteria andMaxchatsIsNull() {
            addCriterion("maxchats is null");
            return (Criteria) this;
        }

        public Criteria andMaxchatsIsNotNull() {
            addCriterion("maxchats is not null");
            return (Criteria) this;
        }

        public Criteria andMaxchatsEqualTo(Integer value) {
            addCriterion("maxchats =", value, "maxchats");
            return (Criteria) this;
        }

        public Criteria andMaxchatsNotEqualTo(Integer value) {
            addCriterion("maxchats <>", value, "maxchats");
            return (Criteria) this;
        }

        public Criteria andMaxchatsGreaterThan(Integer value) {
            addCriterion("maxchats >", value, "maxchats");
            return (Criteria) this;
        }

        public Criteria andMaxchatsGreaterThanOrEqualTo(Integer value) {
            addCriterion("maxchats >=", value, "maxchats");
            return (Criteria) this;
        }

        public Criteria andMaxchatsLessThan(Integer value) {
            addCriterion("maxchats <", value, "maxchats");
            return (Criteria) this;
        }

        public Criteria andMaxchatsLessThanOrEqualTo(Integer value) {
            addCriterion("maxchats <=", value, "maxchats");
            return (Criteria) this;
        }

        public Criteria andMaxchatsIn(List<Integer> values) {
            addCriterion("maxchats in", values, "maxchats");
            return (Criteria) this;
        }

        public Criteria andMaxchatsNotIn(List<Integer> values) {
            addCriterion("maxchats not in", values, "maxchats");
            return (Criteria) this;
        }

        public Criteria andMaxchatsBetween(Integer value1, Integer value2) {
            addCriterion("maxchats between", value1, value2, "maxchats");
            return (Criteria) this;
        }

        public Criteria andMaxchatsNotBetween(Integer value1, Integer value2) {
            addCriterion("maxchats not between", value1, value2, "maxchats");
            return (Criteria) this;
        }

        public Criteria andMinchatsIsNull() {
            addCriterion("minchats is null");
            return (Criteria) this;
        }

        public Criteria andMinchatsIsNotNull() {
            addCriterion("minchats is not null");
            return (Criteria) this;
        }

        public Criteria andMinchatsEqualTo(Integer value) {
            addCriterion("minchats =", value, "minchats");
            return (Criteria) this;
        }

        public Criteria andMinchatsNotEqualTo(Integer value) {
            addCriterion("minchats <>", value, "minchats");
            return (Criteria) this;
        }

        public Criteria andMinchatsGreaterThan(Integer value) {
            addCriterion("minchats >", value, "minchats");
            return (Criteria) this;
        }

        public Criteria andMinchatsGreaterThanOrEqualTo(Integer value) {
            addCriterion("minchats >=", value, "minchats");
            return (Criteria) this;
        }

        public Criteria andMinchatsLessThan(Integer value) {
            addCriterion("minchats <", value, "minchats");
            return (Criteria) this;
        }

        public Criteria andMinchatsLessThanOrEqualTo(Integer value) {
            addCriterion("minchats <=", value, "minchats");
            return (Criteria) this;
        }

        public Criteria andMinchatsIn(List<Integer> values) {
            addCriterion("minchats in", values, "minchats");
            return (Criteria) this;
        }

        public Criteria andMinchatsNotIn(List<Integer> values) {
            addCriterion("minchats not in", values, "minchats");
            return (Criteria) this;
        }

        public Criteria andMinchatsBetween(Integer value1, Integer value2) {
            addCriterion("minchats between", value1, value2, "minchats");
            return (Criteria) this;
        }

        public Criteria andMinchatsNotBetween(Integer value1, Integer value2) {
            addCriterion("minchats not between", value1, value2, "minchats");
            return (Criteria) this;
        }

        public Criteria andRequesttimeoutIsNull() {
            addCriterion("requestTimeout is null");
            return (Criteria) this;
        }

        public Criteria andRequesttimeoutIsNotNull() {
            addCriterion("requestTimeout is not null");
            return (Criteria) this;
        }

        public Criteria andRequesttimeoutEqualTo(Integer value) {
            addCriterion("requestTimeout =", value, "requesttimeout");
            return (Criteria) this;
        }

        public Criteria andRequesttimeoutNotEqualTo(Integer value) {
            addCriterion("requestTimeout <>", value, "requesttimeout");
            return (Criteria) this;
        }

        public Criteria andRequesttimeoutGreaterThan(Integer value) {
            addCriterion("requestTimeout >", value, "requesttimeout");
            return (Criteria) this;
        }

        public Criteria andRequesttimeoutGreaterThanOrEqualTo(Integer value) {
            addCriterion("requestTimeout >=", value, "requesttimeout");
            return (Criteria) this;
        }

        public Criteria andRequesttimeoutLessThan(Integer value) {
            addCriterion("requestTimeout <", value, "requesttimeout");
            return (Criteria) this;
        }

        public Criteria andRequesttimeoutLessThanOrEqualTo(Integer value) {
            addCriterion("requestTimeout <=", value, "requesttimeout");
            return (Criteria) this;
        }

        public Criteria andRequesttimeoutIn(List<Integer> values) {
            addCriterion("requestTimeout in", values, "requesttimeout");
            return (Criteria) this;
        }

        public Criteria andRequesttimeoutNotIn(List<Integer> values) {
            addCriterion("requestTimeout not in", values, "requesttimeout");
            return (Criteria) this;
        }

        public Criteria andRequesttimeoutBetween(Integer value1, Integer value2) {
            addCriterion("requestTimeout between", value1, value2, "requesttimeout");
            return (Criteria) this;
        }

        public Criteria andRequesttimeoutNotBetween(Integer value1, Integer value2) {
            addCriterion("requestTimeout not between", value1, value2, "requesttimeout");
            return (Criteria) this;
        }

        public Criteria andOffertimeoutIsNull() {
            addCriterion("offerTimeout is null");
            return (Criteria) this;
        }

        public Criteria andOffertimeoutIsNotNull() {
            addCriterion("offerTimeout is not null");
            return (Criteria) this;
        }

        public Criteria andOffertimeoutEqualTo(Integer value) {
            addCriterion("offerTimeout =", value, "offertimeout");
            return (Criteria) this;
        }

        public Criteria andOffertimeoutNotEqualTo(Integer value) {
            addCriterion("offerTimeout <>", value, "offertimeout");
            return (Criteria) this;
        }

        public Criteria andOffertimeoutGreaterThan(Integer value) {
            addCriterion("offerTimeout >", value, "offertimeout");
            return (Criteria) this;
        }

        public Criteria andOffertimeoutGreaterThanOrEqualTo(Integer value) {
            addCriterion("offerTimeout >=", value, "offertimeout");
            return (Criteria) this;
        }

        public Criteria andOffertimeoutLessThan(Integer value) {
            addCriterion("offerTimeout <", value, "offertimeout");
            return (Criteria) this;
        }

        public Criteria andOffertimeoutLessThanOrEqualTo(Integer value) {
            addCriterion("offerTimeout <=", value, "offertimeout");
            return (Criteria) this;
        }

        public Criteria andOffertimeoutIn(List<Integer> values) {
            addCriterion("offerTimeout in", values, "offertimeout");
            return (Criteria) this;
        }

        public Criteria andOffertimeoutNotIn(List<Integer> values) {
            addCriterion("offerTimeout not in", values, "offertimeout");
            return (Criteria) this;
        }

        public Criteria andOffertimeoutBetween(Integer value1, Integer value2) {
            addCriterion("offerTimeout between", value1, value2, "offertimeout");
            return (Criteria) this;
        }

        public Criteria andOffertimeoutNotBetween(Integer value1, Integer value2) {
            addCriterion("offerTimeout not between", value1, value2, "offertimeout");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}